<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //函数：可重复执行的代码块。
        //在js中可以先调用函数在声明函数。
        //声明函数：
        function show(){
            //函数体
           console.log('hello world');
        }                        
        //调用函数
        show();   
        //函数参数
        function show2(name){  //行参
            console.log('hello'+name)
        }
        //调用函数
        show2('张三');  //实参

        //写一个加法运算的函数并调用。
        function jiafa(a,b){
            let sum;
            sum = a+b;
            console.log(a+'+'+b+'='+sum);
        }
        jiafa (3,4);


        //写一个函数用于判断两个数中的最大值。
        function getMax(num1,num2){
            console.log(arguments);  //参数：不是数组
            console.log(arguments.length);  //获取参数的个数
            console.log(arguments[0]);  //通过索引（从0开始）获取对应位置的参数值
           
            if (num1>num2){
                console.log('最大值是：'+num1);
            }else{
                console.log('最大值是：'+num2);
            }
        }


         //完善获取最大值的函数:
         //1.保证输入的参数不少于2； arguments.length
         //2.保证传入的参数必须是数值型； 变量 typeof   number
         //不满足以上两个条件的情况打印出‘参数不合法’

         function getMax(){
            if (arguments.length>=2){
                let max = arguments[0];
            for(let i=0;i<arguments.length;i++){
                if (typeof arguments[i] !='number'){
                    console.log('参数不合法');
                    return NaN;   //结束执行 不会再进行i++运算。
                }else{
                    if (arguments[i]>max){
                        max = arguments[i];
                    }
                }
            }
            console.log(max);
         }else{
            console.log('参数不合法');
            return NaN; 
         }
         }
         getMax();
         console.log('---------');
         getMax(1,2,3,4,5);
         console.log('----------');
         getMax('h','g');
         //返回值return;结束函数执行,一般写在最后语句，return后的语句不再执行。
         function max(a,b){
            return a<b?a:b;
         }

        getMax(23,213);
        getMax(65);
        getMax();
        getMax(10,4,6);
        getMax('小太阳','玫瑰');

    </script>
</body>
    
</html>